﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text; 
using Wedo.Domain.Models;
namespace Wedo.Recognition.Repository
{
    public interface IUnitWork
    {
        IRepository<T> Set<T>() where T : class;

        CachedRepository<T> CacheSet<T>() where T : class; 


        int ExSql(string sql, params object[] param);

        IEnumerable<T> SqlQuery<T>(string sql, params object[] param);

        int SaveChanges();



        IUserRepository User { get;}

        IRoleRepository Role { get; }

        //ICacheRepository<RoleUserInfoes> RoleUserInfoes{ get;}

        //ICacheRepository<ResourceRoles> RoleResource { get; } 

        void Dispose();
    }
}
